// pages/chat/chat.js
const app = getApp()

Page({
  data: {
    currentTab: 0, // 当前选中的标签：0-ta的动态, 1-解忧电台, 2-心动信号
    recentVisitors: 12, // 最近访问人数
    heartSignals: [
      {
        id: 1,
        name: '小可爱',
        avatar: '/images/default-avatar.png',
        lastMessage: '你好呀，很高兴认识你！',
        lastTime: '2分钟前',
        unreadCount: 3,
        online: true
      },
      {
        id: 2,
        name: '阳光男孩',
        avatar: '/images/default-avatar.png',
        lastMessage: '今天天气真好，要不要一起出去玩？',
        lastTime: '1小时前',
        unreadCount: 0,
        online: false
      },
      {
        id: 3,
        name: '温柔小姐姐',
        avatar: '/images/default-avatar.png',
        lastMessage: '你的照片拍得真好看！',
        lastTime: '3小时前',
        unreadCount: 1,
        online: true
      }
    ],
    isConnected: true
  },

  onLoad() {
    this.checkAuth();
    this.loadData();
  },

  onShow() {
    // 页面显示时刷新数据
    this.loadData();
  },

  // 检查授权
  checkAuth() {
    if (!app.globalData.userInfo) {
      wx.redirectTo({
        url: '/pages/login/login'
      });
    }
  },

  // 加载数据
  loadData() {
    // 模拟加载数据
    wx.showLoading({
      title: '加载中...',
    });

    setTimeout(() => {
      wx.hideLoading();
      
      // 这里可以添加真实的数据加载逻辑
      // 例如从服务器获取最近访问人数和心动信号列表
    }, 1000);
  },

  // 切换标签
  switchTab(e) {
    const tab = parseInt(e.currentTarget.dataset.tab);
    
    // 如果点击的是当前选中的标签，不执行任何操作
    if (this.data.currentTab === tab) {
      return;
    }

    this.setData({
      currentTab: tab
    });

    // 根据不同的标签执行不同的操作
    switch(tab) {
      case 0: // ta的动态
        this.navigateToSquare();
        break;
      case 1: // 解忧电台
        this.navigateToRadio();
        break;
      case 2: // 心动信号
        // 心动信号标签点击后显示聊天记录，不需要跳转
        // 这里可以添加加载心动信号数据的逻辑
        this.loadHeartSignals();
        break;
    }
  },

  // 加载心动信号数据
  loadHeartSignals() {
    // 这里可以添加从服务器加载心动信号数据的逻辑
    console.log('加载心动信号数据...');
  },

  // 跳转到广场-关注-全部界面
  navigateToSquare() {
    wx.navigateTo({
      url: '/pages/discover/discover?tab=follow'
    });
  },

  // 跳转到解忧电台
  navigateToRadio() {
    wx.showToast({
      title: '解忧电台功能开发中',
      icon: 'none',
      duration: 2000
    });
    
    // 实际开发中可以跳转到电台页面
    // wx.navigateTo({
    //   url: '/pages/radio/radio'
    // });
  },

  // 跳转到最近来访页面
  navigateToVisitors() {
    wx.navigateTo({
      url: '/pages/like/like?tab=visitors'
    });
  },

  // 打开心动信号聊天
  openSignalChat(e) {
    const signalId = e.currentTarget.dataset.id;
    const signal = this.data.heartSignals.find(item => item.id === signalId);
    
    if (signal) {
      // 跳转到聊天详情页面
      wx.navigateTo({
        url: `/pages/chat/detail?id=${signalId}&name=${signal.name}`
      });
    }
  },

  // 页面相关事件处理函数
  onPullDownRefresh() {
    // 下拉刷新
    this.loadData();
    wx.stopPullDownRefresh();
  },

  // 分享功能
  onShareAppMessage() {
    return {
      title: '快来和我聊天吧！',
      path: '/pages/chat/chat'
    };
  },

  // 分享到朋友圈
  onShareTimeline() {
    return {
      title: '快来和我聊天吧！'
    };
  }
})
